package ferran.alcazar.one;

import java.util.Random;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class And_pipatijActivity extends Activity {
	/** Called when the activity is first created. */

	int contadorYo;
	int contadorCpu;
	int contadorGanador;
	int contadorPerdedor;

	TextView marcadorCPU;
	TextView marcadorYo;
	TextView marcadorGanador;
	TextView marcadorPerdedor;
	int contadorTiradas;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.main);

		contadorYo = 0;
		contadorCpu = 0;
		contadorTiradas = 0;
		contadorGanador = 0;
		contadorPerdedor = 0;

		marcadorYo = (TextView) findViewById(R.id.textView1);
		marcadorCPU = (TextView) findViewById(R.id.textView3);
		marcadorGanador = (TextView) findViewById(R.id.G);
		marcadorPerdedor = (TextView) findViewById(R.id.P);

		// marcadorGanador.setText("0");
		// marcadorPerdedor.setText("0");

		ImageView im = (ImageView) findViewById(R.id.image);

		im.setImageResource(R.drawable.question);
	}

	@Override
	public void onResume() {
		super.onResume();

	}

	public int func_random() { // funcion que genera un numero aleatorio entre
								// 1-3
		Random rand = new Random();
		int num = rand.nextInt(3) + 1;
		return num;
	}

	public void reset() { // reiniciar partida
		contadorCpu = 0;
		contadorYo = 0;
		// TextView mensaje = (TextView) findViewById(R.id.mensaje);
		ImageView im = (ImageView) findViewById(R.id.image);

		marcadorYo.setText(Integer.toString(contadorYo));
		marcadorCPU.setText(Integer.toString(contadorCpu));
		im.setImageResource(R.drawable.question);

		// mensaje.setText(getString(R.string.go));
	}

	public void elige(View v) {
		TextView mensaje = (TextView) findViewById(R.id.mensaje);
		ImageView im = (ImageView) findViewById(R.id.image);

		int yo = Integer.parseInt(v.getTag().toString());

		int cpu = func_random();
		switch (cpu) {
		case 1:
			im.setImageResource(R.drawable.stone);

			break;
		case 2:
			im.setImageResource(R.drawable.paper);

			break;
		case 3:
			im.setImageResource(R.drawable.scissors);

			break;
		default:
			im.setImageResource(R.drawable.scissors);
			Log.d(getLocalClassName(), "int cpu = " + cpu
					+ " numero incorrecto");
			break;
		}

		if (cpu == yo) {
			mensaje.setText(getString(R.string.draw));
		} else if ((cpu == 1 && yo == 3) || (cpu == 2 && yo == 1)
				|| (cpu == 3 && yo == 2)) {
			contadorCpu++;
			marcadorCPU.setText(Integer.toString(contadorCpu));
			contadorTiradas++;

		} else {
			yo = Integer.parseInt(marcadorYo.getText().toString());
			contadorYo++;
			marcadorYo.setText(Integer.toString(contadorYo));
			contadorTiradas++;
		}
		if (contadorTiradas % 5 == 0) {
			if (hasganado()) {
				marcadorGanador.setText(Integer.toString(++contadorGanador));
				mensaje.setText(getString(R.string.youwin));

			} else {
				marcadorPerdedor.setText(Integer.toString(++contadorPerdedor));
				mensaje.setText(getString(R.string.cpuwins));

			}

			reset();
		}
	}

	public boolean hasganado() {
		if (contadorYo < contadorCpu) {
			return false;
		}
		return true;

	}

	public void salir(View v) {

		int contadorJugadas = contadorGanador + contadorPerdedor;
		dbHelper admin = new dbHelper(this, null, 1); // instanciamos la clase
		// de la bd
		SQLiteDatabase bd = admin.getWritableDatabase(); // metodo para escribir
		// en la bd

		Bundle b = getIntent().getExtras();
		ContentValues cv = new ContentValues();

		String nombre = (String) b.get("nombre");
		String edad = (String) b.get("edad");
		String pais = (String) b.get("pais");

		cv.put("nombre", nombre);
		cv.put("edad", edad);
		cv.put("pais", pais);
		cv.put("partidas_ganadas", contadorGanador);
		cv.put("partidas_jugadas", contadorJugadas);
		bd.insert("Usuarios", null, cv);
		bd.close();

		Toast.makeText(this, "La partida se ha guardado en el registro",
				Toast.LENGTH_SHORT).show();
		Intent intent = new Intent(And_pipatijActivity.this, principal.class);
		And_pipatijActivity.this.startActivity(intent);
	}
}